/*
 * Copyright 2020-2030 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
*/

package com.gitee.minimalismstyle.fresh.simple.api.model

import com.gitee.minimalismstyle.fresh.common.data.beetl.model.LongModel
import io.swagger.annotations.*

import java.math.BigDecimal

/**
 * 表单字段Dto
 * @author maoxiaodong
*/
@ApiModel(value = "表单字段")
class SimpleFormField: LongModel(){

    /**
    * 表单ID
    */
    @ApiModelProperty(value = "表单ID")
    var formId: Long? = null

    /**
    * 代码
    */
    @ApiModelProperty(value = "代码")
    var code: String? = null

    /**
    * 列名
    */
    @ApiModelProperty(value = "列名")
    var column: String? = null

    /**
    * 名称
    */
    @ApiModelProperty(value = "名称")
    var name: String? = null

    /**
    * 默认值
    */
    @ApiModelProperty(value = "默认值")
    var value: String? = null

    /**
    * 最大值
    */
    @ApiModelProperty(value = "最大值")
    var minvalue: BigDecimal? = null

    /**
    * 最小值
    */
    @ApiModelProperty(value = "最小值")
    var maxvalue: BigDecimal? = null

    /**
    * 最大长度
    */
    @ApiModelProperty(value = "最大长度")
    var maxlength: Int? = null

    /**
    * 最小长度
    */
    @ApiModelProperty(value = "最小长度")
    var minlength: Int? = null

    /**
    * 是否必填(Y:是,N:否)
    */
    @ApiModelProperty(value = "是否必填(Y:是,N:否)")
    var required: String? = null

    /**
    * 值类型
    */
    @ApiModelProperty(value = "值类型")
    var type: String? = null

    /**
    * 组件
    */
    @ApiModelProperty(value = "组件")
    var widget: String? = null

    /**
    * 权限值
    */
    @ApiModelProperty(value = "权限值")
    var acl: String? = null

    /**
    * 国际化代码
    */
    @ApiModelProperty(value = "国际化代码")
    var i18n: String? = null

    /**
     * 运算符
     */
    @ApiModelProperty(value = "运算符")
    var operator: String? = null

    /**
     * 自动的
     */
    @ApiModelProperty(value = "自动的")
    var autoFlag: String? = null

    /**
    * 子表单ID
    */
    @ApiModelProperty(value = "子表单ID")
    var childrenFormId: Long? = null

    /**
     * 格式化
     */
    @ApiModelProperty(value = "格式化")
    var format: String? = null

    /**
     * 格式
     */
    @ApiModelProperty(value = "格式")
    var pattern: String? = null

    /**
     * 排序
     */
    @ApiModelProperty(value = "排序")
    var sort: Int? = null
}